package com.industrial.white.service;

import com.industrial.common.core.web.domain.AjaxResult;
import com.industrial.system.api.domain.AdminUser;
import com.industrial.system.api.domain.EmEnterpriseInformationCollection;
import com.industrial.white.domain.dto.EnterExportDto;
import com.industrial.white.domain.vo.ChooseField;

import java.util.List;
import java.util.Map;

/**
 * 企业基本信息Service
 *
 * @author ruoyi
 * @date 2023-08-15
 */
public interface IEmEnterpriseInformationCollectionService {

    /**
     * 获取企业信息
     * @return
     */
    EmEnterpriseInformationCollection getEnterDataInfo();

    /**
     * 查询企业基本信息列表
     *
     * @param emEnterpriseInformationCollection 企业基本信息
     * @return 企业基本信息集合
     */
    List<EmEnterpriseInformationCollection> selectEmEnterpriseInformationCollectionList(EmEnterpriseInformationCollection emEnterpriseInformationCollection);

    /**
     * 查询企业基本信息
     *
     * @param baseId 企业基本信息主键
     * @return 企业基本信息
     */
    EmEnterpriseInformationCollection selectEmEnterpriseInformationCollectionByBaseId(String baseId);

    /**
     * 导出表格
     * @param enterParams
     * @return
     */
    List<EnterExportDto> selectExportEnterData(EmEnterpriseInformationCollection enterParams);

    void checkEnter(Map<String, String> params);

    AjaxResult editEnter(EmEnterpriseInformationCollection emEnterpriseInformationCollection);

    /**
     * 修改企业基本信息
     */
    int updateEmEnterpriseInformationCollection(EmEnterpriseInformationCollection emEnterpriseInformationCollection);

    /**
     * 新增企业基本信息
     *
     * @param emEnterpriseInformationCollection 企业基本信息
     * @return 结果
     */
    int insertEmEnterpriseInformationCollection(EmEnterpriseInformationCollection emEnterpriseInformationCollection);

    /**
     * 查询当前登录用户的信息
     * @return
     */
    AdminUser selectCurrentLoginUserInfo();


    List<EnterExportDto> selectChooseFiedldData(ChooseField chooseField, EmEnterpriseInformationCollection enter);
    /**
     * 判断亩产的企业是否存在白名单中
     * @return
     */
    Boolean preMuExistWhite(String uscc);

    void savePreMuCompanyInfoToWhite(Map<String, Object> params);
    /**
     * 查询传入USCC是否存在白名单中
     * @return
     */
    List<String> preMuExistWhiteByUscc(List<String> uscc);

    /**
     * <p>
     *     通过企业信息代码查询企业信息
     * </p>
     * @param uscc
     * @return
     */
    EmEnterpriseInformationCollection queryWhiteInfoByUscc(String uscc);
}
